//
//  SqliteDbTool.h
//  CareRingApp
//
//  Created by Linktop on 2024/6/5.
//

#import <Foundation/Foundation.h>
#import "sqlite3.h"

NS_ASSUME_NONNULL_BEGIN

@interface SqliteDbTool : NSObject

- (instancetype)initWithStmt:(sqlite3_stmt *)statement;

- (int)intForColumn:(NSString*)columnName;

- (int)intForColumnIndex:(int)columnIdx ;

- (long)longForColumn:(NSString*)columnName ;

- (long)longForColumnIndex:(int)columnIdx;

- (long long int)longLongIntForColumn:(NSString*)columnName;

- (long long int)longLongIntForColumnIndex:(int)columnIdx;

- (unsigned long long int)unsignedLongLongIntForColumn:(NSString*)columnName;

- (unsigned long long int)unsignedLongLongIntForColumnIndex:(int)columnIdx ;

- (BOOL)boolForColumn:(NSString*)columnName ;

- (BOOL)boolForColumnIndex:(int)columnIdx ;

- (double)doubleForColumn:(NSString*)columnName;

- (double)doubleForColumnIndex:(int)columnIdx ;

- (NSString *)stringForColumnIndex:(int)columnIdx;

- (NSString*)stringForColumn:(NSString*)columnName;


- (NSDate*)dateForColumn:(NSString*)columnName;


- (NSDate*)dateForColumnIndex:(int)columnIdx;

- (NSData*)dataForColumn:(NSString*)columnName;

- (NSData*)dataForColumnIndex:(int)columnIdx;


- (NSData*)dataNoCopyForColumn:(NSString*)columnName;

- (NSData*)dataNoCopyForColumnIndex:(int)columnIdx;

- (BOOL)columnIndexIsNull:(int)columnIdx;

- (BOOL)columnIsNull:(NSString*)columnName;


@end

NS_ASSUME_NONNULL_END
